package AnalizadorSintactico;

import java.util.ArrayList;

import javax.swing.tree.DefaultMutableTreeNode;

public class BloqueDeClase {

	private ArrayList<Campo> bloqueCampos;
	private ArrayList<Metodo> bloqueMetodos;

	public BloqueDeClase(ArrayList<Campo> bloqueCampos,
			ArrayList<Metodo> bloqueMetodos) {
		this.bloqueCampos = bloqueCampos;
		this.bloqueMetodos = bloqueMetodos;
	}

	public DefaultMutableTreeNode getSubArbol() {
		DefaultMutableTreeNode defClase = new DefaultMutableTreeNode(this);
		if (bloqueCampos != null) {
			DefaultMutableTreeNode nodoCampos = new DefaultMutableTreeNode(
					"Declaracion de Campos");
			for (Campo i : bloqueCampos) {
				DefaultMutableTreeNode nodoc = new DefaultMutableTreeNode(i
						.getSubArbol());
				nodoCampos.add(nodoc);
			}
			defClase.add(nodoCampos);
		}
		if (bloqueMetodos != null) {
			DefaultMutableTreeNode nodoMetodos = new DefaultMutableTreeNode(
					"Declaracion de Metodos");
			for (Metodo i : bloqueMetodos) {
				DefaultMutableTreeNode nodom = i.getSubArbol();
				nodoMetodos.add(nodom);
			}
			defClase.add(nodoMetodos);
		}
		return defClase;
	}

	public ArrayList<Campo> getBloqueCampos() {
		return bloqueCampos;
	}

	public ArrayList<Metodo> getBloqueMetodos() {
		return bloqueMetodos;
	}

	@Override
	public String toString() {
		String cadena = "bloque clase:";
		return cadena;
	}

}
